<?php
/**
 * Created by PhpStorm.
 * User: fengsenhua
 * Date: 2019/2/10
 * Time: 20:52
 */

namespace app\api\model;

use app\api\model\Product as ProductModel;
class Product extends BaseModel
{
    protected $hidden=['main_img_id','pivot','from','update_time','delete_time','category_id','create_time'];
    public  function getMainImgUrlAttr($value,$data){
        return $this->prefixImgUrl($value,$data);
    }

    public function imgs(){
       return $this->hasMany('ProductImage','product_id','id');
    }

    public function properties(){
       return $this->hasMany('ProductProperty','product_id','id');
    }

    public static function getMostRecent($count){
        $product=self::limit($count)->order('create_time desc')->select();
        return $product;
    }
    public static  function getProductsByCategoryID($categoryID){
        $products=self::where('category_id','=',$categoryID)->select();
        return $products;
    }
    public static function getProductDetail($id){

        $product=self::with([
            'imgs'=>function($query){
                $query->with('imgUrl')->order('order','asc');
            }
        ])->with(['properties'])->find($id);
        return $product;
    }
}